package com.itwxz.forum.utils;

import cn.dev33.satoken.stp.StpUtil;
import com.itwxz.forum.domain.vo.ForumUserInfoVo;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class SaUtils {
    private static final String FORUM_USER_KEY = "forum-user";

    /**
     * 获取当前登录用户的 forum-user 信息
     */
    public static ForumUserInfoVo getForumUser() {
        Object obj = StpUtil.getSession().get(FORUM_USER_KEY);

        if (obj instanceof ForumUserInfoVo)
            return (ForumUserInfoVo) obj;

        return null;
    }

    /**
     * 获取用户名
     */
    public static String getNickname() {
        ForumUserInfoVo user = getForumUser();

        if (user == null || user.getUserNickName() == null)
            throw new IllegalStateException("未登录或用户昵称不存在");

        return user.getUserNickName();
    }
}
